package java_learn.java_jinjie.Lambda;

/**
 * @Author: 李浩然
 * @Date: 2020/12/23 2:12 下午
 */
public class Demo01Calc {

    public static void main(String[] args) {
        invokeCalc(100, 324, new Calculator() {
            @Override
            public int calc(int a, int b) {
                return a + b;
            }
        });

        //使用Lambda表达式简化匿名内部类
        invokeCalc(100, 324, (a, b) -> a + b);
        invokeCalc(100, 324, (int a, int b) -> {
            return a + b;
        });

    }

    /**
     * 定义一个方法
     * 参数传递两个int类型的整数
     * 参数传递Calculator接口
     * 方法内部调用Calculator中的方法calc计算两个整数的和
     */
    public static void invokeCalc(int a, int b, Calculator calculator) {
        int sum = calculator.calc(a, b);
        System.out.println(sum);
    }
}
